java中byte[]转换成int

来源:百度知道 编辑:UC知道 时间:2024/06/09 14:38:22
byte[] a=new byte(10);
从文件读取的数据a=[00:20.19]这10个字符,怎样让int a,b,c;
a=00;b=20;c=19.我是想把那延迟时间加上,还有什么好方法么

java中byte转换为 int有两种情况,一种是要求保持值不变,例如进行数值计算,可采用强制类型转换:int i = (int) aByte;
另一种是要求保持最低字节中各个位不变,3个高字节全部用0填充,例如进行编解码操作,
则需要采用位操作:int i = b & 0xff;

int InputStream.read()
该函数返回一个int类型,范围从0至255,如果到达流末尾,返回-1。通过ByteArrayInputStream的源码可以看到是如何从byte转到int
public synchronized int read() {
return (pos < count) ? (buf[pos++] & 0xff) : -1;
}

注意,不是自动转的,需要强制做处理。

你可以用StringTokenizer,
StringTokenizer t = new StringTokenizer("[:.]");
意思是说以""内的所有字符区分获得的a里的字符段.
然后用
while(t.hasMoreToken){
Sting b = t.nextToken;
}
获得不同的b分别对应00,20,19